package com.cheng.example.book.advise151.chap2;


/**
 *
    *建议29：优先选择基本类型
 *
 * 　(1)、i 通过valueOf方法包装成一个Integer对象
 * 　(2)、由于没有testMethod(Integer i)方法，编译器会"聪明"的把Integer对象转换成int。
 * 　(3)、int自动拓宽为long，编译结束
 *
 *   这个核心知识 Integer可以作为long型的入参
 */
public class Client29 {

    public static void main(String[] args) {
        Client29 c = new Client29();
        int i = 140;
        // 分别传递int类型和Integer类型
        c.testMethod(i);
        c.testMethod(new Integer(i));
    }

    public void testMethod(long a) {
        System.out.println(" 基本类型的方法被调用");
    }

    public void testMethod(Long a) {
        System.out.println(" 包装类型的方法被调用");
    }
}